package br.com.uniban.bo;

import java.util.List;

import br.com.uniban.dao.QuestaoRemote;
import br.com.uniban.dao.UsuarioRemote;
import br.com.uniban.dto.QuestaoDTO;
import br.com.uniban.entity.Disciplina;
import br.com.uniban.entity.QuestoesAvulsas;
import br.com.uniban.entity.Usuario;
import br.com.uniban.util.SessionBeanFactory;

public class QuestaoBO {

	private QuestaoRemote daoQuestao;
	private UsuarioRemote daoUsuario;
	
	public QuestaoBO() throws Exception{
		daoQuestao = SessionBeanFactory.getInstanceQuestaoRemote();
		daoUsuario = SessionBeanFactory.getInstanceUsuarioRemote();
	}

	public QuestoesAvulsas cadastraQuestao(QuestoesAvulsas questao) throws Exception {
		Usuario usuario = daoUsuario.find(questao.getUsuario().getId());
		Disciplina disciplina = daoQuestao.findDisciplina(questao.getDisciplina().getId());
		questao.setUsuario(usuario);
		questao.setDisciplina(disciplina);
		return daoQuestao.merge(questao);

	}

	public List<QuestoesAvulsas> pesquisaQuestao(QuestaoDTO dto) {
		if(0 == dto.getIdDisciplina())
			dto.setIdDisciplina(null);
		return daoQuestao.listaQuestao(dto);

	}
	public void excluirQuestao(Integer idQuestao) throws Exception{
		QuestoesAvulsas questao = daoQuestao.find(idQuestao);
		daoQuestao.delete(questao);
		
	}
	
	public List<Disciplina> listaDisciplina(){
		return daoQuestao.listAllDisciplina();
	}
	
}
